1. Field of Invention
The present invention relates, in general, to the field of analysis of source codes. More specifically, the embodiments of the present invention relate to systems and methods for improving the quality of static analysis.
2. Description of the Background Art
Static analysis is a technique used for finding bugs in a source code. Static analysis is the analysis of a source code carried out without executing the source code. Static analysis can provide information about the quality of the source code. In particular, static analysis gives measurements of the characteristics of the source code such as form, structure, content or documentation.
Conventional techniques offer tools performing static analysis for intra-procedural analysis and inter-procedural analysis. However, inter-procedural analysis can be difficult, if mechanisms that establish function calls at runtime are used. Some examples of the mechanisms are indirect function calls, registries, function vectors and jump tables. Functions that are called cannot be determined by the conventional techniques.
Conventional techniques also offer tools performing dynamic analysis. Dynamic analysis is a technique evaluating a system or component based on its behavior during execution. Dynamic analysis can determine the bugs in functions. However, this analysis is very time consuming.